import { get, post, put, del } from './api';
import { TaskOverview, TaskOverviewQueryParams, TaskEditFormData } from '../pages/all_tasks/models/allTasksModels';

// API响应类型
interface ApiResponse<T> {
  code: number;
  message: string;
  data: T;
}

/**
 * 获取任务总览列表
 * 
 * @param params 查询参数
 * @returns 任务总览列表
 */
export async function getTaskOverviews(params?: TaskOverviewQueryParams) {
  return get<ApiResponse<TaskOverview[]>>('/tasks/overview', params);
}

/**
 * 更新任务数据
 * 
 * @param id 任务ID
 * @param data 任务编辑数据
 * @returns 更新后的任务信息
 */
export async function updateTaskOverview(id: number | string, data: TaskEditFormData) {
  return put<ApiResponse<TaskOverview>>(`/tasks/overview/${id}`, data);
}

/**
 * 删除任务
 * 
 * @param id 任务ID
 * @returns 删除结果
 */
export async function deleteTaskOverview(id: number | string) {
  return del<ApiResponse<void>>(`/tasks/overview/${id}`);
}
